Inputting data to a web page

ABSTRACT

A system for inputting data to a web page that is selectively accessed and displayed through a web browser executing on a computing device includes an electronic scratch pad on the computing device that is configured to identify data entry fields on an accessed web page and to retrieve a label corresponding to any identified data entry field of the web page. The electronic scratch pad records the label and any user input that is input using a user input device to the corresponding data entry field.

BACKGROUND

In the modern world, the Internet and its galaxy of web sites can besearched for target information on a daily basis. Consider the case ofmaking a reservation for a trip or checking how to get to a particulardestination by way of example. In the case of making travel plans, auser may visits the web sites of a number of travel agencies, one byone, to get travel information. The user may also compare the resultsfrom a number of web pages posting travel information with respect to adesired travel itinerary or to compare prices. In addition, the useroften searches for a particular route to a destination or checks theweather after searching for the destination or accommodations.

Searching a limited set of parameters on a number of web sites in thisway can be burdensome. At each new web site consulted, the user may haveto re-enter the same parameters over and over again. Some problems wouldoccur in such a case that a user compares prices, service contents, orword-of-mouth recommendations on different web pages.

BRIEF SUMMARY

A system for inputting data to a web page that is selectively accessedand displayed through a web browser executing on a computing deviceincludes an electronic scratch pad on the computing device that isconfigured to identify data entry fields on an accessed web page and toretrieve a label corresponding to any identified data entry field of theweb page. The electronic scratch pad records the label and any userinput that is input using a user input device to the corresponding dataentry field.

A method for inputting data to a web page that is selectively accessedand displayed through a web browser executing on a computing deviceincludes, with an electronic scratch pad on the computing device,identifying data entry fields on an accessed web page and retrieving alabel corresponding to any identified data entry field of the web page;and with the electronic scratch pad, recording the label and any userinput that is input using a user input device to the corresponding dataentry field.

A system for inputting data to a web page that is selectively accessedand displayed through a web browser executing on a computing deviceincludes a physical computer-readable medium storing instructions for anelectronic scratch pad that is configured to; identify data entry fieldson a web page accessed by the web browser and to retrieve a labelcorresponding to any identified data entry field of the web page, andrecord the label and any user input that is input using a user inputdevice to the corresponding data entry field.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The accompanying drawings illustrate various embodiments of theprinciples described herein and are a part of the specification. Theillustrated embodiments are merely examples and do not limit the scopeof the claims.

FIG. 1 shows the overall configuration of a web system and thefunctional configuration of a terminal corresponding to an embodiment ofthe present invention.

FIG. 2 shows an example of a displayed screen of an A Inc. web page.

FIG. 3 shows a label information table and an input information table ina storage area.

FIG. 4 shows a source code of an HTML of an A Inc. web page.

FIG. 5 shows a label information table and an input information table ofa storage area.

FIGS. 6a-6b shows a specific example of displaying an A Inc. web page.

FIGS. 7a-7b shows a specific example of displaying a B Inc. web page.

FIG. 8 shows a synonym table.

FIG. 9 shows a specific example of displaying a B Inc. web page.

FIGS. 10a-10b shows a specific example of displaying a C Inc. web page.

FIGS. 11a-11b shows a specific example of displaying a web page.

FIGS. 12a-12b shows a display example of correspondence.

FIG. 13 is a flowchart of main processing.

FIG. 14 is a flowchart of initial activate processing.

FIG. 15 is a flowchart of manual input processing.

FIG. 16 is a flowchart of web page processing.

FIG. 17 shows the hardware configuration of a terminal.

Throughout the drawings, identical reference numbers designate similar,but not necessarily identical, elements.

DETAILED DESCRIPTION

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations of the presentinvention may be written in an object oriented programming language suchas Java, Smalltalk, C++ or the like. However, the computer program codefor carrying out operations of the present invention may also be writtenin conventional procedural programming languages, such as the “C”programming language or similar programming languages. The program codemay execute entirely on the user's computer, partly on the user'scomputer, as a stand-alone software package, partly on the user'scomputer and partly on a remote computer or entirely on the remotecomputer or server. In the latter scenario, the remote computer may beconnected to the user's computer through a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

The present invention is described below with reference to flowchartillustrations and/or block diagrams of methods, apparatus (systems) andcomputer program products according to embodiments of the invention. Itwill be understood that each block of the flowchart illustrations and/orblock diagrams, and combinations of blocks in the flowchartillustrations and/or block diagrams, can be implemented by computerprogram instructions. These computer program instructions may beprovided to a processor of a general purpose computer, special purposecomputer, or other programmable data processing apparatus to produce amachine, such that the instructions, which execute via the processor ofthe computer or other programmable data processing apparatus, createmeans for implementing the functions/acts specified in the flowchartand/or block diagram block or blocks.

These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including instruction meanswhich implement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions which execute on the computer or other programmableapparatus provide steps for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

According to a first aspect of the present invention, in a method forinput assistance to an input item on a web page, a control unit of aterminal, which activates a web browser to display the web page, getslabel information corresponding to the input item on the web page. Then,the control unit of the terminal, stores the retrieved label informationin a storage area of the terminal, and in response to entry to the inputitem, stores input information in the storage area corresponding to thelabel information. The information stored in the storage area is erasedwhen the control unit closes all the web browsers. Further, in responseto activation to display another web page different from the web pagebeing displayed, with the control unit of the terminal, labelinformation corresponding to an input item of the other web page isretrieved. Further, in response to a state that the retrieved labelinformation corresponding to the other web page is stored in the storagearea, the input information stored corresponding to the labelinformation in the storage area is inserted into an input itemcorresponding to the label information of the other web page to displaythe other web page.

According to a second aspect of the present invention, in the method asdescribed in the first aspect of the invention, as the control unit ofthe terminal determines the retrieved label information as beingsynonymous with label information stored in the storage area, theretrieved label information is put into the same group as the labelinformation and stored in the storage area of the terminal.

According to a third aspect of the present invention, in the method asdescribed in the first aspect of the invention, the control unit of theterminal displays storage area information stored in the storage area.Further, in response to an input operation regarding the displayed inputinformation, the control unit of the terminal moves the inputinformation to an input item on the web page corresponding to the inputinformation to display the web page. The term “input operation regardingthe displayed input information” means to select and drag and drop theinput information or to double-click the input information, for example.

In addition, another embodiment of the present invention is a computerprogram product for causing a computer to execute steps of the abovemethod. In addition, another embodiment of the present invention is aterminal for executing the above method.

According to aspects of the present invention, it is possible to providea method, computer program product, and terminal for input assistance toan input item on a web page, which store input information entered to aninput item on a web page together with label information correspondingto the input item in a storage area. In addition, if label informationof another opened web page is stored in the storage area, the inputinformation stored in the storage area is inserted into an input itemcorresponding to label information of the other web page to display theother web page. Therefore, input information entered to a web page by auser for search purposes can be used on another web page, which improvesusability.

Hereinafter, aspects of the present invention will be described indetail with reference to the accompanying drawings. FIG. 1 shows theoverall configuration of a web system 100 and the functionalconfiguration of a terminal 1 according to an embodiment of the presentinvention. The web system 100 includes the terminal 1, a population ofweb servers 3, and a communication network 5. As shown in FIG. 1, theterminal 1 and the web servers 3 are connected to each other in acommunicable form through the communication network 5 typified by acommunication line or network such as the Internet.

The terminal 1 is a computer typified by a personal computer (PC). Theterminal 1 can communicate with the communication network 5 either by acable or wire or through a wireless communication connection. Further,the terminal 1 may be portable, for example, a laptop or notebookcomputer. The web server 3 is, for example, a server owned by aparticular company that servers up a web site advertising or selling thegoods or services of that company. The web server 3 typically stores andserves any number of web pages as part of the serviced web site.

The terminal 1 includes a control unit 10, a storage unit 20, a userinput device 32, a display unit 34, and a communication unit 36. Thecontrol unit 10 includes a browser control unit 11, a label informationgetting unit 12, a storage area information display control unit 13, aweb page display control unit 14, a correspondence display control unit15, and a storage area information erasing unit 16.

The browser control unit 11 accepts input from the user input device 32and activates a web browser 28 as described below. Further, as directedby the user, the browser control unit 11 accepts input from the userinput device 32 and closes the web browser 28. The label informationgetting unit 12 gets an input label name (label information)corresponding to an input field on a web page. The input label name ispositioned near the input field on a web page described in, for example,HTML (HyperText Markup Language). The input label name specifies ordescribes the type of data requested by that particular input field,such as date, name, etc.

The storage area information display control unit 13 controls thedisplay unit 34 to display the information (storage area information)stored in a storage area 21 as described later. The information storedin the storage area 21 refers to label information and inputinformation. Further, a screen displaying the information stored in thestorage area 21 on the display unit 34 is referred to as “scratch pad.”The scratch pad is provided for a user in a one-to-one correspondence.The web page display control unit 14 controls the display unit 34 todisplay a web page. The correspondence display control unit 15 definescorresponding relationships between the input label name or input fieldon the web page and information stored on the scratch pad. The storagearea information erasing unit 16 selectively erases the informationstored in the storage area 21 and releases the storage area 21.

The storage unit 20 includes the storage area 21, a synonym table 22,and a program area 23. The storage area 21 is a volatile local memoryand thus not permanent. At the time of activating the web browser 28,the storage area 21 is initialized. At the time of closing the webbrowser 28, information in the storage area 21 may be erased. Inaddition, the storage area 21 stores one or more input label names froma web page, that were obtained with the control unit 10, as a label namein a label information table 25. The storage area 21 also stores inputinformation entered in an input field corresponding to the input labelname in an input information table 26, in correspondence with the labelinformation table 25.

The synonym table 22 allows the system to recognize when different,synonymous terms are used to label input fields of different web sites,that the fields are requesting the same type of information. The synonymtable 22 stores words that might be used in different label information,which are determined to be synonymous with one another and groupedaccordingly.

The program area 23 stores various programs and stores at least, the webbrowser 28 and the scratch pad program 29. The web browser 28 is anapplication program for displaying a web page on the display unit 34.The scratch pad program 29 is a program stored in the storage area 21 orused for displaying the scratch pad on the display unit 34.

The control unit 10 of the terminal 1 activates the web browser 28 andexecutes the scratch pad program 29 stored in the storage unit 20. A webpage is then displayed on the display unit 34 along with concurrentdisplay of the scratch pad on the display unit 34. This processing ofthe control unit 10, which is carried out by executing the scratch padprogram 29, causes the system to get label information corresponding toan input item on the web page being accessed and displayed, store theretrieved label information in the storage area 21, store inputinformation in the storage area 21 in correspondence with the labelinformation in response to entry by the user of input for that inputitem, get label information corresponding to an input item on anotherweb page different from the web page displayed on the display unit 34 inresponse to activation of the other web page, and insert inputinformation stored in correspondence with the label information in thestorage area 21 into the input item corresponding to the labelinformation of the other web page, for example. The scratch pad program29 may be a program (plug-in) for adding functions to the web browser28.

The user input device 32 is, for example, a mouse, a keyboard or atouch-sensitive screen, but will be defined in this specification andthe following claims as any hardware device configured to accept inputprovided by a user. The scratch pad receives using input made throughthe user input device and pairs that input with data, such as a label,that has been retrieved, for example, from an current web page. Thedisplay unit 34 is, for example, a liquid crystal device (LCD) monitor.The contents of the scratch pad may be displayed on the display unit 34for the user to see. The communication unit 36 is an interface forcommunicating with the web server 3 through the communication network 5.

Next, the use of the scratch pad to facilitate input to a web site isdescribed. By way of example, this method is described in terms ofassisting a user to input data for a search regarding travel. Thisexplanation is given based on a screen example and information stored inthe storage area 21. FIGS. 2 to 5 show a specific example of displayinga web page of a certain travel search web site referred to as A Inc.

FIG. 2(a) shows an example of a displayed screen in the case where an AInc. web page 50 is displayed on the display unit 34 of the terminal 1after the web browser is activated. The display unit 34 displays thescratch pad 60 as well as the A Inc. web page 50. The A Inc. web page 50is a travel search web site including an input label name 51 for date,an input field 52 for the date, an input label name 53 for startingplace, an input field 54 for starting place, an input label name 55 forarrival place, and an input field 56 for arrival place. As shown in FIG.2(a), a user can enter search parameters to the input fields 52, 54, and56. When a user enters search parameters to the input fields 52, 54, and56 with the user input device 32, travel plan information that fits thesearch parameters is displayed in, for example, a lower portion of the AInc. web page 50 or on another screen or page. As explained herein, thisdata received from the user input device 32 will also be received by thescratch pad 60.

Further, the scratch pad 60 displayed on the right of the A Inc. webpage 50 includes entry field labels 61, 63, and 65 for date, startingplace, and arrival place, and information portions 62, 64, and 66corresponding to the entry field portions. The entry field labels 61,63, and 65 each indicate an input label name of the A Inc. web page 50stored in the storage area 21, and the information portions 62, 64, and66 each indicate input information (search parameters) of an input fieldstored in the storage area 21. In the example of FIG. 2, the scratch pad60 is displayed next to the A Inc. web page 50 on its right side but maybe displayed at any position relative to the A Inc. web page 50.

FIG. 3 shows the label information table 25 and the input informationtable 26 stored in the storage area 21 in the storage unit 20.Initialization of the tables may be executed after activating the webbrowser 28, in which case, no information is stored in the labelinformation table 25 (blank) (upper portion, FIG. 3). The, along withdisplaying the A Inc. web page 50 on the display unit 34 as shown inFIG. 2(a), the label names of date, starting place, and arrival placeare extracted from the web page and stored in the label informationtable 25 (lower portion, FIG. 3). An identifier, for example a fourdigit number, associated with each label is stored in an identification(identifier) column in the label information table 25. Such anidentifier may also be used to designated related or correspondinglabels in the synonym table 22.

Further, in the case of activating the web browser to display the A Inc.web page 50, before any information is input into the fields of the webpage, the input information table 26 in the storage area 21 is empty.Thus, no information is stored in information portions 62, 64, and 66 ofthe scratch pad 60 (blank) as shown in FIG. 2(a). Moreover, the inputlabel names 51, 53, and 55 of date, starting place, arrival place areretrieved as an input label names of the A Inc. web page 50 and are usedto label the entry field portions 61, 63, and 65 of the scratch pad 60.

Referring to FIG. 4, how to get an input label name and an input fieldis described. FIG. 4 shows an HTML source code of the A Inc. web page 50of FIG. 2(a) in brief. The input field is described within tags of<FORM> and </FORM> (#1 to #3). Information input to the input field isobtained based on “name=” in INPUT tag described in tags of <FORM> and</FORM>. Thus, a character string following “name=” can be extracted asa name of the input field.

Further, portions enclosed by tags (#4) out of character strings in tagsof <BODY> and </BODY> can be extracted as candidates for the input labelname. However, if rendering engine is used, target information can beretrieved in shorter time. According to this method, an input label nameis extracted from data described near an input field name on the webpage. For example, in FIG. 2(a), the input label name 51 (date) and theinput field 52 (date) are displayed in the same position in the verticaldirection of the A Inc. web page 50 (#5 and #6), and the input field 52is displayed on the right of the input label name 51 (#7 and #8).

An input label name is extracted based on the fact that input label nameand the input field are displayed close to each other as a rule of thumbfor the description of the web page. Therefore, label information can beretrieved in a simple manner based on the rule of thumb for thedescription of the web page, and the label information can be associatedwith the input item. In the example of FIG. 4, the input field is a textbox. However, if the input field is a pull-down list or the like, targetinformation can be retrieved in a similar way.

Referring back to FIG. 2, a detailed description will be given. FIG.2(b) shows a process of user input of search conditions to the A Inc.web page 50. A user enters date information as a search parameter in theinput field 52 (date) on the Inc. web page 50. In this case, forexample, in response to movement of a cursor on the A Inc. web page 50from the input field 52 to the input field 54, information input to theinput field 52 is stored in the input information table 26 in thestorage area 21 and displayed in a corresponding information portion ofthe scratch pad 60. In FIG. 2(b), a cursor is positioned in the inputfield 54 for starting place, so “2007/10/20” as information input to theinput field 52 (date) is automatically displayed in the informationportion 62 of the scratch pad 60. At this time, as illustrated in anupper portion of FIG. 5, information input to the A Inc. web page 50 isstored in the input information table 26, which corresponds to a labelname “date” in the label information table 25.

As shown in FIG. 2(c), in the case of inputting search conditions to theinput fields 52, 54, and 56 of the A Inc. web page 50, information inputto the input fields 52, 54, and 56 is displayed in the informationportions 62, 64, and 66, corresponding to the input fields 52, 54, and56. Further, as shown in a lower portion of FIG. 5, input information isstored in the input information table 26 in correspondence with a labelname based on an identifier.

As described above, information input to the input field can beautomatically stored in the storage area 21 together with the inputlabel name corresponding to the input field, which omits a pre-storingprocess and other such settings. Further, information stored in thestorage area 21 can be displayed on the scratch pad 60.

Referring to FIG. 6, a description is made of a specific example ofadditionally using the information used for search on the A Inc. webpage 50.

FIG. 6(a) shows an example where a starting place and an arrival placeon the A Inc. web page 50 are changed on the screen of FIG. 2(c). Wheninformation input by a user with the user input device 32 is stored inthe input field 54 (starting place) and the input field 56 (arrivalplace), the information which was input to the A Inc. web page 50 isadditionally stored in the input information table 26 of the storagearea 21 of FIG. 6(b). In this case, “Chuorinkan” is stored as inputinformation corresponding to the label name of starting place, and“Sapporo” is stored as input information corresponding to the label nameof arrival place in the input information table 26. Further,“Chuorinkan” and “Sapporo” are displayed in the information portion 64and the information portion 66 above the information portion on thescratch pad 60 of FIG. 6(a), respectively.

As described above, the latest input information is displayed above theinformation portion to help a user in checking the latest inputinformation.

Next, a specific example of the jump to a web page on another travelsearch web site is described with reference to FIGS. 7 to 9.

FIG. 7(a) shows an exemplary screen on which a B Inc. web page 70, theweb page of another travel search web site, is displayed on the displayunit 34. Considering that a user jumps from the A Inc. web page 50 ofFIG. 6(a) to the B Inc. web page 70, it is determined whether the labelname of the label information table 25 of the storage area 21 of FIG.6(b) matches the input label name of B Inc. web page 70. If matched, thelatest one of the input information corresponding to the label name ofthe label information table 25 is stored in an input field correspondingto the input label name of the B Inc. web page 70.

In FIG. 7(a), the label name “date” of the label information table 25matches the input label name 75 (date) of the B Inc. web page 70. Thus,“2007/10/20” in the input information table 26 corresponding to thelabel name “date” of the label information table 25 is stored in theinput field 76 corresponding to the input label name 75. Likewise, thelatest one of information (in this example, “Chuorinkan”) in the inputinformation table 26 corresponding to the label name “starting place” ofthe label information table 25 is stored in the input field 72corresponding to the input label name 71 (starting place).

On the other hand, a label name of the label information table 25corresponding to the input label name 73 (destination) of the B Inc. webpage 70 is not stored (see FIG. 6(b)). In this case, the synonym table22 stored in storage unit 20 of FIG. 8 is referenced to check groupedinformation. Referring to the synonym table 22, the label name“destination” corresponds to synonym identifier “1003”. In addition,“arrival place” and “exit station” are found as a result of searchingthe synonym table 22 for the synonym identifer “1003”. Here, the labelname “arrival place” is stored as the label name in label informationtable 25, so “destination” is added to the label name of the labelinformation table 25. At this time, if this information is given thesame identifier as the label name (arrival place), the arrival place andthe destination can be put into the same group.

Further, the latest one of information (in this example, “Sapporo”) inthe input information table 26 corresponding to the label name “arrivalplace” or “destination” of the label information table 25 is stored inthe input field 74 corresponding to the input label name 73(destination) of the B Inc. web page 70. In addition, as illustrated inthe scratch pad 60 of FIG. 7(a), the scratch pad 60 is updated anddisplayed based on the information stored in the storage area 21. To bespecific, the entry field portion 65 is set to “arrival place,destination”.

As described above, if the input label name of another web page matcheswith the label name of the entry field portion displayed on the scratchpad 60 upon jumping to the other web page, the latest information isautomatically input to the input field corresponding to the input labelname, which saves input processing for search. In particular, thisfeature is effective for the case of searching plural web pages underthe same conditions. In addition, although the input label name ofanother web page does not match with the label name of the entry fieldportion displayed on the scratch pad 60, if the label name matches withthe label names grouped in the synonym table 22, the latest informationis similarly automatically input to the input field corresponding to theinput label name, which improves usability and saves input processingfor search. The label name varies among companies in many cases. In suchcases, however, the synonym table is used to save input processing.

FIG. 9 shows an exemplary screen where a value of the input field 72(starting place) on the B Inc. web page 70 is changed using a valuedisplayed on the scratch pad 60. In the case, where a value of the inputfield 72 on the B Inc. web page 70 is changed from “Chuorinkan” to“Machida” displayed in the information portion 64 corresponding to theentry field portion 63 (starting place) of the scratch pad 60, a userselects “Machida” displayed in the information portion 64 of the scratchpad 34, and drags and drops “Machida” to the input field 72 of the webpage with a mouse as the user input device 32. As a result, the value inthe input field 72 can be changed from “Chuorinkan” to “Machida,”without the user having to re-type the name “Machida.”

As described above, if a user wants to replace a part of the informationautomatically input at the time of opening the web page by otherinformation, more specifically, replace the information by informationdisplayed on the scratch pad 60, search conditions can be easily changedby dragging and dropping predetermined information from the scratch pad60 to the date entry fields of the web page. In this example, theinformation is replaced through drag and drop but user input data fromthe scratch pad 60 may also be selected with a double-click or othermeans.

Referring to FIGS. 10 and 11, a specific example of the jump to a webpage of still another travel search web site is described.

FIG. 10(a) shows an exemplar screen where a C Inc. web page 80, as a webpage of still another travel search web site is displayed on the displayunit 34. When a user jumps to the C Inc. web page 80, it is determinedwhether a label name of the label information table 25 of the storagearea 21 as shown in FIG. 7(b), which is displayed just before the jumpto the C Inc. web page 80, matches with an input label name on the CInc. web page 80. If matched, the latest one of the input informationcorresponding to the label name of the label information table 25 isstored in an input field corresponding to the input label name on the CInc. web page 80. In FIG. 10(a), since the label name “date” of thelabel information table 25 matches with the input label name 81 (date)on the C Inc. web page 80, “2007/10/20” in the input information table26 corresponding to the label name “date” of the label information table25 is stored in the input field 82 corresponding to the input label name81.

Likewise, the latest one of information in the input information table26 corresponding to the label name “starting place” in the labelinformation table 25 (in this example, “Chuorinkan”) is stored in theinput field 84 corresponding to the input label name 83 (startingplace). Further, the latest one of information in the input informationtable 26 corresponding to the label name “destination” in the labelinformation table 25 (in this example, “Sapporo”) is stored in the inputfield 88 corresponding to the input label name 87 (destination).

In this example, a label name corresponding to the input label name 85(route) on the C Inc. web page 80 is not set in the label informationtable 25 of the storage area 21. Further, a label name synonymous with“route” cannot be found in the label information table 25 even withreference to the synonym table 22. If a corresponding input label nameof the C Inc. web page 80 is not found in the label information table 25as above, as shown in FIG. 10(b), a label name “route” is added to thelabel information table 25. Then, the entry field portion 67 for routeis displayed on the scratch pad 60, and no information is stored in theinformation portion 68 (blank) corresponding to the entry field portion67.

FIG. 11(a) shows the case where information is input to the input field86 corresponding to the input label name 85 (route). In the case ofusing information displayed in the scratch pad 60, the information canbe easily input by a user selecting and dragging-and-dropping alreadyentered search parameters. FIG. 11(b) shows the storage area 21 afterthe information is input to the input field 86 (route). An identifiersimilar to an identifier of the stopover place in the label informationtable 25 is added to the input information table 26, and “Machida” isstored. In this example as well, information displayed in the scratchpad 60 is dragged and dropped, but the present invention is not limitedthereto. Desired information may be directly input with a keyboard etc.

Referring to FIG. 12, a specific example of how to displaycorrespondence is described. FIG. 12 shows an example wherecorrespondence between the B Inc. web page 70, as an example of the webpage, and the scratch pad 60 is illustrated with lines in aneasy-to-understand manner. FIG. 12(a) shows label correspondence, andFIG. 12(b) shows input field correspondence.

FIG. 12(a) shows the B Inc. web page 70 and the scratch pad 60 with aline 91 connecting the input label name 71 (starting place) and theentry field portion 63 corresponding to the input label name 7, a line92 connecting the input label name 73 (destination) and the entry fieldportion 65 corresponding to the input label name 73, and a line 93connecting the input label name 75 (date) and the entry field portion 61corresponding to the input label name 75.

FIG. 12(b) shows the B Inc. web page 70 and the scratch pad 60 with aline 95 connecting the input field 72 (starting place) and theinformation portion 64 corresponding to the input field 72, a line 96connecting the input field 74 (destination) and the information portion66 corresponding to the input field 74, and a line 97 connecting theinput field 76 (date) and the information portion 62 corresponding tothe input field 76.

In either case, the correspondence is indicated with the lines in auser-recognizable manner. Consequently, a user can easily check whichlabel is associated or which information is automatically input.

Next, a description is given of the input assistance processingutilizing the scratch pad 60 as specifically described above, withreference to FIG. 13 to FIG. 16. FIG. 13 is a flowchart of mainprocessing. FIG. 14 is a flowchart of initial processing. FIG. 15 is aflowchart of manual input processing. FIG. 16 is a flowchart of web pageprocessing.

First, in step S1 of FIG. 13, the control unit 10 performs initial startprocessing of FIG. 14.

Referring to FIG. 14, initial start processing is described. In step S21of FIG. 14, the browser control unit 11 activates the web browser 28stored in the program area 23 of the storage unit 20 in correspondencewith an instruction from the user input device 32. Next, in step S22,the control unit 10 initiates the scratch pad program 29 stored in theprogram area 23 of the storage unit 20. In step S23, the control unit 10initializes the storage area 21. After the completion of initialization,the storage area 21 stores no information (blank).

Next, in step S24, the storage area information display control unit 13displays the scratch pad 60 on the display unit 34. At this point, onlya screen (frame) is displayed in the scratch pad 60. In step S25, thecontrol unit 10 accepts address information (URL) of a web page from theuser input device 32. As a result, the control unit 10 gets a target webpage in step S26.

In step S27, the label information acquisition unit 12 gets labelinformation of the accessed web page and stores the information in thestorage area 21. In step S28, the storage area information displaycontrol unit 13 updates and displays the scratch pad 60 on the displayunit 34. In this example, a label name is displayed in an entry fieldportion of the scratch pad 60. In step S29, the web page display controlunit 14 displays the web page on the display unit 34. After that, thecontrol unit 10 returns to the main processing.

Referring back to FIG. 13, in step S2, the control unit 10 subsequentlydetermines whether input to an input field from the user input device 32is accepted. If input is accepted (step S2: YES), the control unit 10advances the processing to step S3 and performs manual input processingof FIG. 15. On the other hand, if input is not accepted (step S2: NO),the control unit 10 advances the processing to step S4.

Referring now to FIG. 15, manual input processing is described. In stepS41 of FIG. 15, the control unit 10 determines whether informationentered to the input field is stored in the storage area 21. If alreadystored in the storage area 21 (step S41: YES), the control unit 10terminates this processing and returns to the main processing. On theother hand, if not stored in the storage area 21 (step S41: NO), thecontrol unit 10 advances the processing to step S42.

In step S42, the control unit 10 stores input information in associationwith a corresponding label name in the storage area 21. To be specific,at the time of inputting information as shown in FIG. 2(b), theinformation is stored in the input information table 26 of the storagearea 21 as illustrated in an upper portion of FIG. 5. In this case, anidentifier similar to an identifier of a corresponding label name isstored and associated with the label information table 25. Then, in stepS43, the storage area information display control unit 13 performscontrol to update and display the scratch pad 60 on the display unit 34.With this control, information entered to the input field is displayedin the scratch pad 60. After that, the control unit 10 returns to themain processing.

Referring back to FIG. 13, in step S4, the control unit 10 determineswhether a user's instruction to open another web page is accepted. If aninstruction to open another web page is accepted (step S4: YES), thecontrol unit 10 advances the processing to step S6, and performs webpage processing of FIG. 16. On the other hand, if an instruction to openanother web page is not accepted (step S4: NO), the control unit 10advances the processing to step S5.

In step S5, the control unit 10 determines whether an instruction tojump to another web page is accepted. If an instruction to accessanother web page is accepted (step S5: YES), the control unit 10advances the processing to step S6, and executes web page processing ofFIG. 16. On the other hand, if an instruction to jump to another webpage is not accepted (step S5: NO), the control unit 10 advances theprocessing to step S7. The term “instruction to open another web page”means to open a new web page in addition to the web page being opened,and the term “instruction to jump to another web page” means to openanother web page in place of the web page being opened.

Referring now to FIG. 16, web page processing is described. In step S61,the control unit 10 accepts entry of address information (URL) of a webpage with the user input device 32 to thereby acquire the web page, forexample. In step S62, the label information acquisition unit 12 extractslabel information from the acquired web page. In step S63, the controlunit 10 determines whether the retrieved label information is alreadystored in the storage area 21. If already stored (step S63: YES), thecontrol unit 10 advances the processing to step S66. On the other hand,if not stored (step S63: NO), the control unit 10 advances theprocessing to step S64.

In step S64, the control unit 10 references the synonym table 22 todetermine whether the acquired label information is stored as beingsynonymous with a label name already stored in the storage area 21. Ifthe information is stored as a synonym (step S64: YES), the control unit10 advances the processing to step S65. On the other hand, if theinformation is not stored as a synonym (step S64: NO), the control unit10 advances the processing to step S68.

In step S65, the control unit 10 puts the retrieved label informationinto the same group as the stored label name, as a synonym therefore.Then, the control unit advances the processing to step S66. In step S66,the control unit 10 extracts input information corresponding to thelabel information stored in the storage area 21. If plural inputinformation corresponding to the label information is found, the latestinput information is extracted. Then, in step S67, the web page displaycontrol unit 14 performs control to display the web page on the displayunit 34 with the extracted input information being stored in apredetermined input field. After that, the control unit 10 returns tothe main processing.

On the other hand, in step S68, since a target label is not stored inthe storage area 21, the web page display control unit 14 performscontrol to display the web page on the display unit 34. To elaborate, noinformation is entered to an input field on the web page displayed instep S68 input field. If plural labels are set on the web page, theprocessing in step S63 and subsequent steps is performed on theretrieved labels. After that, the control unit 10 returns to the mainprocessing.

Referring back to FIG. 13, in step S7, the control unit 10 determineswhether an instruction to display correspondence is accepted. If aninstruction to display correspondence is accepted (step S7: YES), thecontrol unit 10 advances the processing to step S8. If an instruction todisplay correspondence is not accepted (step S7: NO), the control unit10 advances the processing to step S9. In step S8, the correspondencedisplay control unit 15 performs control to display designatedcorrespondence. The term “designated correspondence” means acorrespondence selected by a user, and refers to one or both of a labeland an input field. Here, to display correspondence means to displaycorrespondence as shown in FIG. 12 in a user-recognizable manner.

In step S9, it is determined whether the web page is closed. If the webpage is closed (step S9: YES), the control unit 10 advances theprocessing to step S10. On the other hand, if the web page is not closed(step S9: NO), the control unit 10 advances the processing to step S2.In step S10, it is determined whether all web pages are closed. If allweb pages are closed (step S10: YES), the control unit 10 advances theprocessing to step S11. On the other hand, if all web pages are notclosed (step S10: NO), the control unit 10 advances the processing tostep S2.

In step S11, the control unit 10 executes termination processing. To bespecific, the storage area information erasing unit 16 erasesinformation stored in the storage area 21, and the browser control unit11 terminates the scratch pad program 29 together with the web browser28. After that, the control unit 10 terminates this processing.

As described above, information stored in the storage area is erased inresponse to closing all the web browsers, making it possible to reducethe total amount of information stored in the storage area. Further,information in the storage area is erased upon the completion of closingall the web browsers, which raises a security level with no data beingleft in the terminal or server.

FIG. 17 shows the hardware configuration of the terminal 1 according tothe embodiment of the present invention. The overall configuration of aninformation processing apparatus typified by a computer is describedbelow, but needless to say, if any special devices or embedded devicesare used, the minimum configuration can be selected based on thedevice's environments.

The terminal 1 includes a CPU (central processing unit) 1010, a bus line1005, a communication I/F 1040, a main memory 1050, a BIOS (basis inputoutput system) 1060, a parallel port 1080, a USB port 1090, a graphicscontroller 1020, a VRAM 1024, an audio processor 1030, an I/O controller1070, and an input unit such as a keyboard and a mouse adaptor 1100. TheI/O controller 1070 can be connected to a storage unit such as aflexible disk (FD) drive 1072, a hard disk drive 1074, an optical diskdrive 1076, and a semiconductor memory 1078. The graphics controller1020 is connected to a display device 1022. Further, the audio processor1030 is optionally connected to an amplifier circuit 1032 and a speaker1034.

The BIOS 1060 stores a boot program executed by the CPU 1010 at the timeof booting the terminal 1, and programs dependent on hardware of theterminal 1. The FD drive 1072 reads programs or data from a flexibledisk 1071 and supplies the programs or data to a main memory 1050 or ahard disk 1074 through an I/O controller 1070.

Conceivable examples of the optical disk drive 1076 include a DVD-ROMdrive, a CD-ROM drive, a DVD-RAM drive, DVD-RW drive, and a CD-RW drive.In this example, it is necessary to use the optical disk 1077 adaptableto each drive. The optical disk drive 1076 may read programs or datafrom the optical disk 1077 and supply the programs or data to the mainmemory 1050 or hard disk 1074 through the I/O controller 1070.

A computer program product is supplied to the terminal 1 by a user inthe form of being stored in the flexible disk 1071, the optical disk1077, or a memory card and other such recording media. The computerprogram product is read from the recording medium through the I/Ocontroller 1070 or downloaded through a communication I/F 1040, and theninstalled and executed on the terminal 1. Operations executed by aninformation processing apparatus under the control of a computer programproduct are the same as the operations of the above-described apparatusand thus not described here.

The above computer program product may be stored in an external storagemedium. Conceivable examples of the storage medium include the flexibledisk 1071, the optical disk 1077, and the memory card, and in addition,a photo magnetic recording medium such as an MD and a tape medium. Inaddition, a storage device such as a hard disk drive or optical disklibrary provided in a server system connected to the Internet or aspecial communication line may be used as a recording medium to supplythe computer program product to the terminal 1 through a communicationline.

The above description is focused on the terminal 1. However, similarfunctions to those of the above information processing apparatus can berealized by installing a program having such functions to a computer andprocessing the computer to operate as the information processingapparatus. Accordingly, the information processing apparatus describedas one embodiment of the present invention can be implemented by amethod and a computer program product for performing the method.

The terminal 1 of the present invention can be embodied in the form ofhardware, software, or combination of hardware and software. To give atypical example of the terminal embodied as a combination of hardwareand software, the hardware and software are implemented in a computersystem storing a predetermined program. In this example, thepredetermined program is loaded and opened on the computer system tothereby process the computer system to execute the processing of thepresent invention. This program is composed of a command group that canbe represented in any language, code, or notation. Such a command groupcan be executed after a system directly performs a predeterminedfunction or one or both of the following operations (1) and (2) areperformed: (1) the program is converted to another language, code, ornotation and (2) the program is copied to another medium. Needless tosay, the scope of the invention encompasses not only the program itselfbut also a program product inclusive of a medium storing the program.Programs for realizing the functions of the present invention can bestored in any computer-readable medium such as a flexible disk, an MO, aCD, a DVD, a hard disk device, a ROM, an MRAM, or a RAM. Such a programcan be downloaded from another computer system connected to acommunication line or copied from another medium to be stored in acomputer-readable medium. Further, this program may be also compressedor divided into plural programs, and then stored in one or morerecording media.

The present invention is discussed as above based on the embodiments butis not limited to the above embodiments. As for the advantages describedin the embodiments of the present invention beneficial effects, the mostbeneficial effects of the present invention are simply listed. Thus, theadvantages of the present invention are not limited to those describedin the embodiments or examples.

In the embodiments of the present invention, input information isdisplayed in a scratch pad in response to movement of a cursor but maybe displayed in response to key input or jump to a web page based on adesignated URL.

Further, in the embodiments of the present invention, the web browser isactivated and the scratch pad is displayed at the same time. However,for example, a scratch pad start button may be added to the task bar andpressed by a user to thereby activate and display the scratch pad.

Further, the embodiments of the present invention describe search fortravel for illustrative purposes. However, if a user can jump to aweather information web page upon checking the weather after the searchfor travel, he/she can automatically set the date and share data betweendifferent web pages, for example. Moreover, the present invention isapplicable to various purposes such as comparison of various productsand entry of desired conditions on job-search/transfer web sites.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

Having thus described the invention of the present application in detailand by reference to embodiments thereof, it will be apparent thatmodifications and variations are possible without departing from thescope of the invention defined in the appended claims.

What is claimed is:
 1. A method for inputting data to a web page that isselectively accessed and displayed through a web browser executing on acomputing device, said method comprising: identifying data entry fieldson an accessed web page using FORM and BODY tags with an electronicscratch pad on said computing device; retrieving a first labelcorresponding to any identified data entry field of said web page basedon a positional relation to the identified data entry field, in whichthe first label is a string in a source code which describes the webpage; storing said first label and a four-digit identifier of said firstlabel to a label information table; recording said first label with saidelectronic scratch pad; recording, in response to movement of a cursorfrom a corresponding data entry field, in said electronic scratch padany user input that is input using a user input device to thecorresponding data entry field; assigning the four-digit identifier tothe user input based on an association of the user input with the firstlabel; storing the four-digit identifier and the user input to an inputinformation table; storing, with said electronic scratch pad, values ofdrop-down menus selected together with associated labels; associating,in a synonym table, label names with a synonym identifier, wherein labelnames having a same synonym identifier are identified as synonyms;terminating said electronic scratch pad together with the web browserwhen all web pages are closed; and erasing said stored user input inresponse to said web browser closing, wherein said electronic scratchpad is part of a plug-in for said web browser.
 2. The method of claim 1,further comprising: in response to said web browser activating a new webpage, retrieving a second label corresponding to any identified dataentry field of said new web page; grouping said second label with saidfirst label following a determination that said first label and saidsecond label are synonyms using the synonym table; and automaticallyentering a latest user input from multiple user inputs corresponding tothe first label into a data entry field on said new web page thatcorresponds to said second label.
 3. The method of claim 1, furthercomprising associating the first label with the corresponding data entryfield based on a proximity between the first label and the correspondingdata entry field on said web page.
 4. The method of claim 3, wherein thefirst label and the corresponding data entry field are associated basedon a same position in the vertical direction as indicated in the sourcecode which describes the web page.
 5. The method of claim 1, furthercomprising providing a visual indication of an association between aninput label name of the new web page and an entry field portion on theelectronic scratch pad that corresponds to the input label name.
 6. Themethod of claim 1, further comprising providing a visual indication ofan association between an input field of the new web page and an inputinformation portion on the electronic scratch pad that corresponds tothe input field.
 7. A computer program product for inputting data to aweb page that is selectively accessed and displayed through a webbrowser executing on a computing device, said computer program productcomprising a non-transitory computer readable storage medium havingcomputer readable program code embodied therewith for an electronicscratch pad, the computer readable program code comprising: computerreadable program code, forming part of a plug-in for said web browser,configured to: initialize a storage area of a terminal after activatingthe web browser; identify data entry fields on a web page accessed bysaid web browser using FORM and BODY tags and to retrieve a number offirst labels corresponding to any identified data entry field of saidweb page, record said number of first labels and associated four-digitidentifiers for each first label to a label information table; inresponse to movement of a cursor from a corresponding data entry field,record any user input that is input using a user input device to thecorresponding data entry field, wherein the user input comprisesactivating a drop-down menu to select a value, in which said user inputand said number of first labels stored by said scratch pad arecontinuously displayed to a user of said computing device while said webbrowser is open, assigning the four-digit identifier to the user inputbased on an association of the user input with a first label; storingthe four-digit identifier and the user input to an input informationtable; in response to said web browser activating a new web page,automatically entering user input from a previous web page into a dataentry field on said new web page that has a second label thatcorresponds to one of said number of first labels for a data entry fieldfrom a previous web page into which that user input was previouslyentered; after identifying an unfilled data entry field which has alabel not found in the scratch pad, receiving user input dragging anddropping a data value from the scratch pad into the unfilled data entryfield; and in response to identifying a new label on said new web page,adding said new label to said scratch pad without storing correspondinginput information in said scratch pad.
 8. The computer program productof claim 7, wherein said number of first labels specify a type of datarequested.
 9. The computer program product of claim 7, wherein thenon-transitory computer readable storage medium comprises computerreadable program code to extract said number of first labels frommetadata.
 10. The computer program product of claim 7, wherein thenon-transitory computer readable storage medium comprises computerreadable program code to prioritize a display of a latest user input inthe electronic scratch pad.
 11. The computer program product of claim10, wherein prioritizing a display of a latest user input comprisesdisplaying it above other user inputs.
 12. The computer program productof claim 7, wherein the non-transitory computer readable storage mediumcomprises computer readable program code to display a correspondencebetween labels and input fields based on user instruction.